{{- if strings.HasPrefix .Source "<link" -}}
  {{- safeHTML .Source -}}
{{- else -}}
  {{- $href := .Source -}}
  {{- $integrity := .Integrity -}}
  {{- $resource := 0 -}}
  {{- if $href | and (not (urls.Parse $href).Host) -}}
    {{- $resource = resources.Get $href -}}
  {{- end -}}
  {{- with .Content -}}
    {{- $resource = resources.FromString $.Path . -}}
  {{- end -}}
  {{- if $resource -}}
    {{- with .Template -}}
      {{- $resource = $resource | resources.ExecuteAsTemplate . $.Context -}}
    {{- end -}}
    {{- with .ToCSS -}}
      {{- $options := . | merge (dict "outputStyle" "compressed") -}}
      {{- $resource = $resource | toCSS $options -}}
    {{- end -}}
    {{- if .Minify -}}
      {{- $resource = $resource | minify -}}
    {{- end -}}
    {{- with .Fingerprint -}}
      {{- $resource = $resource | fingerprint . -}}
      {{- $integrity = $resource.Data.Integrity -}}
    {{- end -}}
    {{- $href = $resource.RelPermalink -}}
  {{- end -}}
  {{- $attrs := printf `href="%v"` $href -}}
  {{- if .Crossorigin -}}
    {{- $attrs = ` crossorigin="anonymous"` | add $attrs -}}
  {{- end -}}
  {{- with $integrity -}}
    {{- $attrs = printf ` integrity="%v"` . | add $attrs -}}
  {{- end -}}
  {{- with .Attr -}}
    {{- $attrs = add " " . | add $attrs -}}
  {{- end -}}
  {{- if .Preload -}}
    <link rel="preload" {{ $attrs | safeHTMLAttr }} as="style" onload="this.removeAttribute('onload');this.rel='stylesheet'">
    <noscript><link rel="stylesheet" {{ $attrs | safeHTMLAttr }}></noscript>
  {{- else -}}
    <link rel="stylesheet" {{ $attrs | safeHTMLAttr }}>
  {{- end -}}
{{- end -}}
